<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Databases</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="kvaser.gif"/></td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__kvadb__database.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Databases<div class="ingroups"><a class="el" href="group__grp__kvadb.html">kvaDbLib</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>Initialization, setting protocols and flags.  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gacbcd92e8da46f1b756c72d25ab92d240"><td class="memItemLeft" align="right" valign="top"><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57">KvaDbStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__kvadb__database.html#gacbcd92e8da46f1b756c72d25ab92d240">kvaDbOpen</a> (<a class="el" href="kva_db_lib_8h.html#a0ab6b252bb2dbf1312bd48208954e67b">KvaDbHnd</a> *dh)</td></tr>
<tr class="separator:gacbcd92e8da46f1b756c72d25ab92d240"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5b519b0fee0fb480488a5a5c628c863a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57">KvaDbStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__kvadb__database.html#ga5b519b0fee0fb480488a5a5c628c863a">kvaDbAddFile</a> (<a class="el" href="kva_db_lib_8h.html#a0ab6b252bb2dbf1312bd48208954e67b">KvaDbHnd</a> dh, const char *filename)</td></tr>
<tr class="separator:ga5b519b0fee0fb480488a5a5c628c863a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga927869d77b7bde7a2b0384dc6ec8c759"><td class="memItemLeft" align="right" valign="top"><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57">KvaDbStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__kvadb__database.html#ga927869d77b7bde7a2b0384dc6ec8c759">kvaDbSetDummyFileName</a> (<a class="el" href="kva_db_lib_8h.html#a0ab6b252bb2dbf1312bd48208954e67b">KvaDbHnd</a> dh, const char *filename)</td></tr>
<tr class="separator:ga927869d77b7bde7a2b0384dc6ec8c759"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0da72bb21d2664d6443f7b3349ec9df5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57">KvaDbStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__kvadb__database.html#ga0da72bb21d2664d6443f7b3349ec9df5">kvaDbCreate</a> (<a class="el" href="kva_db_lib_8h.html#a0ab6b252bb2dbf1312bd48208954e67b">KvaDbHnd</a> dh, const char *localName, const char *filename)</td></tr>
<tr class="separator:ga0da72bb21d2664d6443f7b3349ec9df5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeacbe7c03340e8134181727b7f16958f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57">KvaDbStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__kvadb__database.html#gaeacbe7c03340e8134181727b7f16958f">kvaDbGetDatabaseName</a> (<a class="el" href="kva_db_lib_8h.html#a0ab6b252bb2dbf1312bd48208954e67b">KvaDbHnd</a> dh, char *buf, size_t buflen)</td></tr>
<tr class="separator:gaeacbe7c03340e8134181727b7f16958f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabe66bb4a8311ee7503e117ec392378b3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57">KvaDbStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__kvadb__database.html#gabe66bb4a8311ee7503e117ec392378b3">kvaDbGetVersion</a> (int *major, int *minor, int *build)</td></tr>
<tr class="separator:gabe66bb4a8311ee7503e117ec392378b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaef428f2f4f23c81ada89b8317683c276"><td class="memItemLeft" align="right" valign="top"><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57">KvaDbStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__kvadb__database.html#gaef428f2f4f23c81ada89b8317683c276">kvaDbGetErrorText</a> (<a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57">KvaDbStatus</a> error, char *buf, size_t buflen)</td></tr>
<tr class="separator:gaef428f2f4f23c81ada89b8317683c276"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2b96a31d3ff595c861656bfd2ac43d55"><td class="memItemLeft" align="right" valign="top"><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57">KvaDbStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__kvadb__database.html#ga2b96a31d3ff595c861656bfd2ac43d55">kvaDbGetLastParseError</a> (char *buf, unsigned int *buflen)</td></tr>
<tr class="separator:ga2b96a31d3ff595c861656bfd2ac43d55"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga08c85db8a33c4dcdb9d1114b72ab7c30"><td class="memItemLeft" align="right" valign="top"><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57">KvaDbStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__kvadb__database.html#ga08c85db8a33c4dcdb9d1114b72ab7c30">kvaDbClose</a> (<a class="el" href="kva_db_lib_8h.html#a0ab6b252bb2dbf1312bd48208954e67b">KvaDbHnd</a> dh)</td></tr>
<tr class="separator:ga08c85db8a33c4dcdb9d1114b72ab7c30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabf1db33bc6778e2f77ab1b66e8f743e9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57">KvaDbStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__kvadb__database.html#gabf1db33bc6778e2f77ab1b66e8f743e9">kvaDbWriteFile</a> (<a class="el" href="kva_db_lib_8h.html#a0ab6b252bb2dbf1312bd48208954e67b">KvaDbHnd</a> dh, char *filename)</td></tr>
<tr class="separator:gabf1db33bc6778e2f77ab1b66e8f743e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaadd6d76a4a37fce5dacddc973951e8c8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57">KvaDbStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__kvadb__database.html#gaadd6d76a4a37fce5dacddc973951e8c8">kvaDbReadFile</a> (<a class="el" href="kva_db_lib_8h.html#a0ab6b252bb2dbf1312bd48208954e67b">KvaDbHnd</a> dh, char *filename)</td></tr>
<tr class="separator:gaadd6d76a4a37fce5dacddc973951e8c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga04b35b1f5416157cb633cf7c44df396e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57">KvaDbStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__kvadb__database.html#ga04b35b1f5416157cb633cf7c44df396e">kvaDbGetFlags</a> (<a class="el" href="kva_db_lib_8h.html#a0ab6b252bb2dbf1312bd48208954e67b">KvaDbHnd</a> dh, unsigned int *flags)</td></tr>
<tr class="separator:ga04b35b1f5416157cb633cf7c44df396e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa0f4c9ff207860723464907c2cc388c4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57">KvaDbStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__kvadb__database.html#gaa0f4c9ff207860723464907c2cc388c4">kvaDbGetProtocol</a> (<a class="el" href="kva_db_lib_8h.html#a0ab6b252bb2dbf1312bd48208954e67b">KvaDbHnd</a> dh, <a class="el" href="kva_db_lib_8h.html#ad0362f767c822d2c461843ea80cb7694">KvaDbProtocolType</a> *prot)</td></tr>
<tr class="separator:gaa0f4c9ff207860723464907c2cc388c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf59a935265ee9b7457b6fdbe493c8d49"><td class="memItemLeft" align="right" valign="top"><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57">KvaDbStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__kvadb__database.html#gaf59a935265ee9b7457b6fdbe493c8d49">kvaDbGetProtocolProperties</a> (<a class="el" href="kva_db_lib_8h.html#ad0362f767c822d2c461843ea80cb7694">KvaDbProtocolType</a> prot, <a class="el" href="struct_kva_db_protocol_properties.html">KvaDbProtocolProperties</a> *prop)</td></tr>
<tr class="separator:gaf59a935265ee9b7457b6fdbe493c8d49"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0749d01aa354efde03f7141a59dc9de4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57">KvaDbStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__kvadb__database.html#ga0749d01aa354efde03f7141a59dc9de4">kvaDbSetFlags</a> (<a class="el" href="kva_db_lib_8h.html#a0ab6b252bb2dbf1312bd48208954e67b">KvaDbHnd</a> dh, unsigned int flags)</td></tr>
<tr class="separator:ga0749d01aa354efde03f7141a59dc9de4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaefa8ebb68ad9d0f5fcb397b675f29f3a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57">KvaDbStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__kvadb__database.html#gaefa8ebb68ad9d0f5fcb397b675f29f3a">kvaDbSetProtocol</a> (<a class="el" href="kva_db_lib_8h.html#a0ab6b252bb2dbf1312bd48208954e67b">KvaDbHnd</a> dh, <a class="el" href="kva_db_lib_8h.html#ad0362f767c822d2c461843ea80cb7694">KvaDbProtocolType</a> prot)</td></tr>
<tr class="separator:gaefa8ebb68ad9d0f5fcb397b675f29f3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>Initialization, setting protocols and flags. </p>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga5b519b0fee0fb480488a5a5c628c863a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5b519b0fee0fb480488a5a5c628c863a">&#9670;&nbsp;</a></span>kvaDbAddFile()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57">KvaDbStatus</a> kvaDbAddFile </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="kva_db_lib_8h.html#a0ab6b252bb2dbf1312bd48208954e67b">KvaDbHnd</a>&#160;</td>
          <td class="paramname"><em>dh</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>filename</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This loads a database file into a handle created with <a class="el" href="group__kvadb__database.html#gacbcd92e8da46f1b756c72d25ab92d240">kvaDbOpen()</a>.</p>
<dl class="section note"><dt>Note</dt><dd>This function is deprecated and will be replaced by <a class="el" href="group__kvadb__database.html#ga0da72bb21d2664d6443f7b3349ec9df5">kvaDbCreate()</a></dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">dh</td><td>A handle database handle </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">filename</td><td>A database file</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57ad8a19899af8c1e42208a67afb572b2fc">kvaDbOK</a> (zero) if success </dd>
<dd>
<a class="el" href="kva_db_lib_8h.html#kvaDbErr_xxx">kvaDbErr_xxx</a> (negative) if failure</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__kvadb__database.html#ga0da72bb21d2664d6443f7b3349ec9df5">kvaDbCreate()</a> </dd></dl>

</div>
</div>
<a id="ga08c85db8a33c4dcdb9d1114b72ab7c30"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga08c85db8a33c4dcdb9d1114b72ab7c30">&#9670;&nbsp;</a></span>kvaDbClose()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57">KvaDbStatus</a> kvaDbClose </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="kva_db_lib_8h.html#a0ab6b252bb2dbf1312bd48208954e67b">KvaDbHnd</a>&#160;</td>
          <td class="paramname"><em>dh</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This function closes an open database handle.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">dh</td><td>A handle to a database</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57ad8a19899af8c1e42208a67afb572b2fc">kvaDbOK</a> (zero) if success </dd>
<dd>
<a class="el" href="kva_db_lib_8h.html#kvaDbErr_xxx">kvaDbErr_xxx</a> (negative) if failure</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__kvadb__database.html#gacbcd92e8da46f1b756c72d25ab92d240">kvaDbOpen()</a> </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="example_2c_2candb_sample_8c-example.html#a29">example/c/candb_sample.c</a>.</dd>
</dl>
</div>
</div>
<a id="ga0da72bb21d2664d6443f7b3349ec9df5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0da72bb21d2664d6443f7b3349ec9df5">&#9670;&nbsp;</a></span>kvaDbCreate()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57">KvaDbStatus</a> kvaDbCreate </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="kva_db_lib_8h.html#a0ab6b252bb2dbf1312bd48208954e67b">KvaDbHnd</a>&#160;</td>
          <td class="paramname"><em>dh</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>localName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>filename</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This function creates a new database in a handle created with <a class="el" href="group__kvadb__database.html#gacbcd92e8da46f1b756c72d25ab92d240">kvaDbOpen()</a>. There are three ways to call this function:</p>
<ul>
<li>To load data from an existing database file, set <em>localName</em> to <code>NULL</code> and set <em>filename</em> to the database file.</li>
</ul>
<ul>
<li>To add an empty database, set <em>localName</em> to any name and set <em>filename</em> to <code>NULL</code>.</li>
</ul>
<ul>
<li>To load data from an existing database file and give it a new name, set <em>localName</em> to the new name and set <em>filename</em> to the database file. In this case, it will attempt to use period as decimal separator by setting an appropriate locale. Note that setting locale is not thread safe.</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">dh</td><td>A database handle </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">localName</td><td>The name of the database or <code>NULL</code>. The database name is used to create qualified names for messages and signals. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">filename</td><td>The database file or <code>NULL</code> </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57ad8a19899af8c1e42208a67afb572b2fc">kvaDbOK</a> (zero) if success </dd>
<dd>
<a class="el" href="kva_db_lib_8h.html#kvaDbErr_xxx">kvaDbErr_xxx</a> (negative) if failure</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__kvadb__database.html#gacbcd92e8da46f1b756c72d25ab92d240">kvaDbOpen()</a>, <a class="el" href="group__kvadb__messages.html#gad34b31d9be199e8b7ac2d7d3dcab8f1e">kvaDbGetMsgQualifiedName()</a>, <a class="el" href="group__kvadb__signals.html#ga60dabd749ad9113ecff2cf4d6fc4df62">kvaDbGetSignalQualifiedName()</a> </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="example_2c_2candb_sample_8c-example.html#a9">example/c/candb_sample.c</a>, and <a class="el" href="example_2c_2j1939_db_8c-example.html#a2">example/c/j1939_db.c</a>.</dd>
</dl>
</div>
</div>
<a id="gaeacbe7c03340e8134181727b7f16958f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaeacbe7c03340e8134181727b7f16958f">&#9670;&nbsp;</a></span>kvaDbGetDatabaseName()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57">KvaDbStatus</a> kvaDbGetDatabaseName </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="kva_db_lib_8h.html#a0ab6b252bb2dbf1312bd48208954e67b">KvaDbHnd</a>&#160;</td>
          <td class="paramname"><em>dh</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>buflen</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get the name of a database as a null-terminated string. A truncated string will be returned if <em>buf</em> is too small and status will be kvaDbOK.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">dh</td><td>A database handle. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">buf</td><td>Buffer to receive database name. The database name is used to create qualified names for messages and signals. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">buflen</td><td>Buffer size in bytes.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57ad8a19899af8c1e42208a67afb572b2fc">kvaDbOK</a> (zero) if success </dd>
<dd>
<a class="el" href="kva_db_lib_8h.html#kvaDbErr_xxx">kvaDbErr_xxx</a> (negative) if failure</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__kvadb__database.html#gacbcd92e8da46f1b756c72d25ab92d240">kvaDbOpen()</a>, <a class="el" href="group__kvadb__messages.html#gad34b31d9be199e8b7ac2d7d3dcab8f1e">kvaDbGetMsgQualifiedName()</a>, <a class="el" href="group__kvadb__signals.html#ga60dabd749ad9113ecff2cf4d6fc4df62">kvaDbGetSignalQualifiedName()</a> </dd></dl>

</div>
</div>
<a id="gaef428f2f4f23c81ada89b8317683c276"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaef428f2f4f23c81ada89b8317683c276">&#9670;&nbsp;</a></span>kvaDbGetErrorText()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57">KvaDbStatus</a> kvaDbGetErrorText </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57">KvaDbStatus</a>&#160;</td>
          <td class="paramname"><em>error</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>buflen</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get the written description for an error code as a null-terminated string. If <em>buf</em> is too small, kvaDbErr_Param will be returned.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">error</td><td>The error code. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">buf</td><td>Buffer to receive error text. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">buflen</td><td>Buffer size in bytes.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57ad8a19899af8c1e42208a67afb572b2fc">kvaDbOK</a> (zero) if success </dd>
<dd>
<a class="el" href="kva_db_lib_8h.html#kvaDbErr_xxx">kvaDbErr_xxx</a> (negative) if failure </dd></dl>

</div>
</div>
<a id="ga04b35b1f5416157cb633cf7c44df396e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga04b35b1f5416157cb633cf7c44df396e">&#9670;&nbsp;</a></span>kvaDbGetFlags()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57">KvaDbStatus</a> kvaDbGetFlags </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="kva_db_lib_8h.html#a0ab6b252bb2dbf1312bd48208954e67b">KvaDbHnd</a>&#160;</td>
          <td class="paramname"><em>dh</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int *&#160;</td>
          <td class="paramname"><em>flags</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get the database flags.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">dh</td><td>A handle to a database </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">flags</td><td>The database flags, <a class="el" href="kva_db_lib_8h.html#KVADB_DATABASE_xxx">KVADB_DATABASE_xxx</a></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57ad8a19899af8c1e42208a67afb572b2fc">kvaDbOK</a> (zero) if success </dd>
<dd>
<a class="el" href="kva_db_lib_8h.html#kvaDbErr_xxx">kvaDbErr_xxx</a> (negative) if failure</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__kvadb__database.html#gaadd6d76a4a37fce5dacddc973951e8c8">kvaDbReadFile()</a></dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="example_2c_2candb_sample_8c-example.html#a31">example/c/candb_sample.c</a>.</dd>
</dl>
</div>
</div>
<a id="ga2b96a31d3ff595c861656bfd2ac43d55"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2b96a31d3ff595c861656bfd2ac43d55">&#9670;&nbsp;</a></span>kvaDbGetLastParseError()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57">KvaDbStatus</a> kvaDbGetLastParseError </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int *&#160;</td>
          <td class="paramname"><em>buflen</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This function retrieves error messages. Run directly after function when recieving error code. Currently only applies to {kvaDbAddFile, kvaDbCreate, kvaDbReadFile}</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">buf</td><td>Buffer to receive error message. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">buflen</td><td>Buffer size in bytes.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57ad8a19899af8c1e42208a67afb572b2fc">kvaDbOK</a> (zero) if success </dd>
<dd>
<a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57a44b8ed60ea3c90939e87db41d7190100">kvaDbErr_Param</a> (negative) if failure</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__kvadb__database.html#gacbcd92e8da46f1b756c72d25ab92d240">kvaDbOpen()</a> </dd></dl>

</div>
</div>
<a id="gaa0f4c9ff207860723464907c2cc388c4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa0f4c9ff207860723464907c2cc388c4">&#9670;&nbsp;</a></span>kvaDbGetProtocol()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57">KvaDbStatus</a> kvaDbGetProtocol </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="kva_db_lib_8h.html#a0ab6b252bb2dbf1312bd48208954e67b">KvaDbHnd</a>&#160;</td>
          <td class="paramname"><em>dh</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="kva_db_lib_8h.html#ad0362f767c822d2c461843ea80cb7694">KvaDbProtocolType</a> *&#160;</td>
          <td class="paramname"><em>prot</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Reads the protocol attribute value of a database</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">dh</td><td>A handle to a database </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">prot</td><td>A handle to protocol type, <a class="el" href="kva_db_lib_8h.html#KvaDbProtocolType">KvaDbProtocolType</a></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57ad8a19899af8c1e42208a67afb572b2fc">kvaDbOK</a> (zero) if success </dd>
<dd>
<a class="el" href="kva_db_lib_8h.html#kvaDbErr_xxx">kvaDbErr_xxx</a> (negative) if failure</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__kvadb__database.html#gaefa8ebb68ad9d0f5fcb397b675f29f3a">kvaDbSetProtocol()</a>, <a class="el" href="group__kvadb__database.html#gaf59a935265ee9b7457b6fdbe493c8d49">kvaDbGetProtocolProperties</a> </dd></dl>

</div>
</div>
<a id="gaf59a935265ee9b7457b6fdbe493c8d49"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf59a935265ee9b7457b6fdbe493c8d49">&#9670;&nbsp;</a></span>kvaDbGetProtocolProperties()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57">KvaDbStatus</a> kvaDbGetProtocolProperties </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="kva_db_lib_8h.html#ad0362f767c822d2c461843ea80cb7694">KvaDbProtocolType</a>&#160;</td>
          <td class="paramname"><em>prot</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_kva_db_protocol_properties.html">KvaDbProtocolProperties</a> *&#160;</td>
          <td class="paramname"><em>prop</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Returns properties of a given protocol, see <a class="el" href="struct_kva_db_protocol_properties.html">KvaDbProtocolProperties</a></p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">prot</td><td>Protocol type, <a class="el" href="kva_db_lib_8h.html#KvaDbProtocolType">KvaDbProtocolType</a> </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">prop</td><td>A handle to protocol properties, <a class="el" href="struct_kva_db_protocol_properties.html">KvaDbProtocolProperties</a></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57ad8a19899af8c1e42208a67afb572b2fc">kvaDbOK</a> (zero) if success </dd>
<dd>
<a class="el" href="kva_db_lib_8h.html#kvaDbErr_xxx">kvaDbErr_xxx</a> (negative) if failure</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__kvadb__database.html#gaa0f4c9ff207860723464907c2cc388c4">kvaDbGetProtocol()</a> </dd></dl>

</div>
</div>
<a id="gabe66bb4a8311ee7503e117ec392378b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabe66bb4a8311ee7503e117ec392378b3">&#9670;&nbsp;</a></span>kvaDbGetVersion()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57">KvaDbStatus</a> kvaDbGetVersion </td>
          <td>(</td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>major</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>minor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>build</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This function gets the version of the KVADBLIB API DLL (kvadblib.dll).</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">major</td><td>Major version number. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">minor</td><td>Minor version number. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">build</td><td>Build number.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57ad8a19899af8c1e42208a67afb572b2fc">kvaDbOK</a> (zero) if success </dd>
<dd>
<a class="el" href="kva_db_lib_8h.html#kvaDbErr_xxx">kvaDbErr_xxx</a> (negative) if failure </dd></dl>

</div>
</div>
<a id="gacbcd92e8da46f1b756c72d25ab92d240"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gacbcd92e8da46f1b756c72d25ab92d240">&#9670;&nbsp;</a></span>kvaDbOpen()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57">KvaDbStatus</a> kvaDbOpen </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="kva_db_lib_8h.html#a0ab6b252bb2dbf1312bd48208954e67b">KvaDbHnd</a> *&#160;</td>
          <td class="paramname"><em>dh</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This function creates a new database handle.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">dh</td><td>A handle to a new database</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57ad8a19899af8c1e42208a67afb572b2fc">kvaDbOK</a> (zero) if success </dd>
<dd>
<a class="el" href="kva_db_lib_8h.html#kvaDbErr_xxx">kvaDbErr_xxx</a> (negative) if failure</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__kvadb__database.html#ga08c85db8a33c4dcdb9d1114b72ab7c30">kvaDbClose()</a> </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="example_2c_2candb_sample_8c-example.html#a8">example/c/candb_sample.c</a>, and <a class="el" href="example_2c_2j1939_db_8c-example.html#a1">example/c/j1939_db.c</a>.</dd>
</dl>
</div>
</div>
<a id="gaadd6d76a4a37fce5dacddc973951e8c8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaadd6d76a4a37fce5dacddc973951e8c8">&#9670;&nbsp;</a></span>kvaDbReadFile()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57">KvaDbStatus</a> kvaDbReadFile </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="kva_db_lib_8h.html#a0ab6b252bb2dbf1312bd48208954e67b">KvaDbHnd</a>&#160;</td>
          <td class="paramname"><em>dh</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>filename</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Load a database from file into a handle created with <a class="el" href="group__kvadb__database.html#gacbcd92e8da46f1b756c72d25ab92d240">kvaDbOpen()</a>. This function will attempt to use period as decimal separator by setting an appropriate locale. Note that setting locale is not thread safe.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">dh</td><td>A handle to a database </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">filename</td><td>The name of the database file.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57ad8a19899af8c1e42208a67afb572b2fc">kvaDbOK</a> (zero) if success </dd>
<dd>
<a class="el" href="kva_db_lib_8h.html#kvaDbErr_xxx">kvaDbErr_xxx</a> (negative) if failure</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__kvadb__database.html#ga0da72bb21d2664d6443f7b3349ec9df5">kvaDbCreate()</a> </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="example_2c_2candb_sample_8c-example.html#a30">example/c/candb_sample.c</a>.</dd>
</dl>
</div>
</div>
<a id="ga927869d77b7bde7a2b0384dc6ec8c759"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga927869d77b7bde7a2b0384dc6ec8c759">&#9670;&nbsp;</a></span>kvaDbSetDummyFileName()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57">KvaDbStatus</a> kvaDbSetDummyFileName </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="kva_db_lib_8h.html#a0ab6b252bb2dbf1312bd48208954e67b">KvaDbHnd</a>&#160;</td>
          <td class="paramname"><em>dh</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>filename</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This function creates a new database in a handle created with <a class="el" href="group__kvadb__database.html#gacbcd92e8da46f1b756c72d25ab92d240">kvaDbOpen()</a>. It is used when there is no file to read data from.</p>
<dl class="section note"><dt>Note</dt><dd>This function is deprecated and will be replaced by <a class="el" href="group__kvadb__database.html#ga0da72bb21d2664d6443f7b3349ec9df5">kvaDbCreate()</a>.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">dh</td><td>A database handle </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">filename</td><td>The the dummy filename to use for this database</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57ad8a19899af8c1e42208a67afb572b2fc">kvaDbOK</a> (zero) if success </dd>
<dd>
<a class="el" href="kva_db_lib_8h.html#kvaDbErr_xxx">kvaDbErr_xxx</a> (negative) if failure</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__kvadb__database.html#ga0da72bb21d2664d6443f7b3349ec9df5">kvaDbCreate()</a> </dd></dl>

</div>
</div>
<a id="ga0749d01aa354efde03f7141a59dc9de4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0749d01aa354efde03f7141a59dc9de4">&#9670;&nbsp;</a></span>kvaDbSetFlags()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57">KvaDbStatus</a> kvaDbSetFlags </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="kva_db_lib_8h.html#a0ab6b252bb2dbf1312bd48208954e67b">KvaDbHnd</a>&#160;</td>
          <td class="paramname"><em>dh</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>flags</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set the database flags.</p>
<dl class="section note"><dt>Note</dt><dd>This feature is currently not enabled.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">dh</td><td>A database handle </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>The flags to set, <a class="el" href="kva_db_lib_8h.html#KVADB_DATABASE_xxx">KVADB_DATABASE_xxx</a></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57ad8a19899af8c1e42208a67afb572b2fc">kvaDbOK</a> (zero) if success </dd>
<dd>
<a class="el" href="kva_db_lib_8h.html#kvaDbErr_xxx">kvaDbErr_xxx</a> (negative) if failure</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__kvadb__database.html#ga04b35b1f5416157cb633cf7c44df396e">kvaDbGetFlags()</a> </dd></dl>

</div>
</div>
<a id="gaefa8ebb68ad9d0f5fcb397b675f29f3a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaefa8ebb68ad9d0f5fcb397b675f29f3a">&#9670;&nbsp;</a></span>kvaDbSetProtocol()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57">KvaDbStatus</a> kvaDbSetProtocol </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="kva_db_lib_8h.html#a0ab6b252bb2dbf1312bd48208954e67b">KvaDbHnd</a>&#160;</td>
          <td class="paramname"><em>dh</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="kva_db_lib_8h.html#ad0362f767c822d2c461843ea80cb7694">KvaDbProtocolType</a>&#160;</td>
          <td class="paramname"><em>prot</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Writes the protocol attribute value of a database</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">dh</td><td>A handle to a database </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">prot</td><td>Protocol type value, <a class="el" href="kva_db_lib_8h.html#KvaDbProtocolType">KvaDbProtocolType</a> </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="gabf1db33bc6778e2f77ab1b66e8f743e9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabf1db33bc6778e2f77ab1b66e8f743e9">&#9670;&nbsp;</a></span>kvaDbWriteFile()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57">KvaDbStatus</a> kvaDbWriteFile </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="kva_db_lib_8h.html#a0ab6b252bb2dbf1312bd48208954e67b">KvaDbHnd</a>&#160;</td>
          <td class="paramname"><em>dh</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>filename</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Write a database to file. This function will attempt to use period as decimal separator by setting an appropriate locale. Note that setting locale is not thread safe.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">dh</td><td>A handle to a database </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">filename</td><td>The name of the database file</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="kva_db_lib_8h.html#a2f504ec74e40048f49ed23d630528d57ad8a19899af8c1e42208a67afb572b2fc">kvaDbOK</a> (zero) if success </dd>
<dd>
<a class="el" href="kva_db_lib_8h.html#kvaDbErr_xxx">kvaDbErr_xxx</a> (negative) if failure</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__kvadb__database.html#gaadd6d76a4a37fce5dacddc973951e8c8">kvaDbReadFile()</a> </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="example_2c_2candb_sample_8c-example.html#a28">example/c/candb_sample.c</a>, and <a class="el" href="example_2c_2j1939_db_8c-example.html#a0">example/c/j1939_db.c</a>.</dd>
</dl>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.13-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer"> (canlib 5.38) Tue Feb 15 2022</li>
  </ul>
</div>
</body>
</html>
